package com.atguigu.crowd.entity;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

public class ProjectExample implements Serializable {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ProjectExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andProjectNameIsNull() {
            addCriterion("project_name is null");
            return (Criteria) this;
        }

        public Criteria andProjectNameIsNotNull() {
            addCriterion("project_name is not null");
            return (Criteria) this;
        }

        public Criteria andProjectNameEqualTo(String value) {
            addCriterion("project_name =", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameNotEqualTo(String value) {
            addCriterion("project_name <>", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameGreaterThan(String value) {
            addCriterion("project_name >", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameGreaterThanOrEqualTo(String value) {
            addCriterion("project_name >=", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameLessThan(String value) {
            addCriterion("project_name <", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameLessThanOrEqualTo(String value) {
            addCriterion("project_name <=", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameLike(String value) {
            addCriterion("project_name like", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameNotLike(String value) {
            addCriterion("project_name not like", value, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameIn(List<String> values) {
            addCriterion("project_name in", values, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameNotIn(List<String> values) {
            addCriterion("project_name not in", values, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameBetween(String value1, String value2) {
            addCriterion("project_name between", value1, value2, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectNameNotBetween(String value1, String value2) {
            addCriterion("project_name not between", value1, value2, "projectName");
            return (Criteria) this;
        }

        public Criteria andProjectDescriptionIsNull() {
            addCriterion("project_description is null");
            return (Criteria) this;
        }

        public Criteria andProjectDescriptionIsNotNull() {
            addCriterion("project_description is not null");
            return (Criteria) this;
        }

        public Criteria andProjectDescriptionEqualTo(String value) {
            addCriterion("project_description =", value, "projectDescription");
            return (Criteria) this;
        }

        public Criteria andProjectDescriptionNotEqualTo(String value) {
            addCriterion("project_description <>", value, "projectDescription");
            return (Criteria) this;
        }

        public Criteria andProjectDescriptionGreaterThan(String value) {
            addCriterion("project_description >", value, "projectDescription");
            return (Criteria) this;
        }

        public Criteria andProjectDescriptionGreaterThanOrEqualTo(String value) {
            addCriterion("project_description >=", value, "projectDescription");
            return (Criteria) this;
        }

        public Criteria andProjectDescriptionLessThan(String value) {
            addCriterion("project_description <", value, "projectDescription");
            return (Criteria) this;
        }

        public Criteria andProjectDescriptionLessThanOrEqualTo(String value) {
            addCriterion("project_description <=", value, "projectDescription");
            return (Criteria) this;
        }

        public Criteria andProjectDescriptionLike(String value) {
            addCriterion("project_description like", value, "projectDescription");
            return (Criteria) this;
        }

        public Criteria andProjectDescriptionNotLike(String value) {
            addCriterion("project_description not like", value, "projectDescription");
            return (Criteria) this;
        }

        public Criteria andProjectDescriptionIn(List<String> values) {
            addCriterion("project_description in", values, "projectDescription");
            return (Criteria) this;
        }

        public Criteria andProjectDescriptionNotIn(List<String> values) {
            addCriterion("project_description not in", values, "projectDescription");
            return (Criteria) this;
        }

        public Criteria andProjectDescriptionBetween(String value1, String value2) {
            addCriterion("project_description between", value1, value2, "projectDescription");
            return (Criteria) this;
        }

        public Criteria andProjectDescriptionNotBetween(String value1, String value2) {
            addCriterion("project_description not between", value1, value2, "projectDescription");
            return (Criteria) this;
        }

        public Criteria andMoneyIsNull() {
            addCriterion("money is null");
            return (Criteria) this;
        }

        public Criteria andMoneyIsNotNull() {
            addCriterion("money is not null");
            return (Criteria) this;
        }

        public Criteria andMoneyEqualTo(Long value) {
            addCriterion("money =", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyNotEqualTo(Long value) {
            addCriterion("money <>", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyGreaterThan(Long value) {
            addCriterion("money >", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyGreaterThanOrEqualTo(Long value) {
            addCriterion("money >=", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyLessThan(Long value) {
            addCriterion("money <", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyLessThanOrEqualTo(Long value) {
            addCriterion("money <=", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyIn(List<Long> values) {
            addCriterion("money in", values, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyNotIn(List<Long> values) {
            addCriterion("money not in", values, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyBetween(Long value1, Long value2) {
            addCriterion("money between", value1, value2, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyNotBetween(Long value1, Long value2) {
            addCriterion("money not between", value1, value2, "money");
            return (Criteria) this;
        }

        public Criteria andDayIsNull() {
            addCriterion("day is null");
            return (Criteria) this;
        }

        public Criteria andDayIsNotNull() {
            addCriterion("day is not null");
            return (Criteria) this;
        }

        public Criteria andDayEqualTo(Integer value) {
            addCriterion("day =", value, "day");
            return (Criteria) this;
        }

        public Criteria andDayNotEqualTo(Integer value) {
            addCriterion("day <>", value, "day");
            return (Criteria) this;
        }

        public Criteria andDayGreaterThan(Integer value) {
            addCriterion("day >", value, "day");
            return (Criteria) this;
        }

        public Criteria andDayGreaterThanOrEqualTo(Integer value) {
            addCriterion("day >=", value, "day");
            return (Criteria) this;
        }

        public Criteria andDayLessThan(Integer value) {
            addCriterion("day <", value, "day");
            return (Criteria) this;
        }

        public Criteria andDayLessThanOrEqualTo(Integer value) {
            addCriterion("day <=", value, "day");
            return (Criteria) this;
        }

        public Criteria andDayIn(List<Integer> values) {
            addCriterion("day in", values, "day");
            return (Criteria) this;
        }

        public Criteria andDayNotIn(List<Integer> values) {
            addCriterion("day not in", values, "day");
            return (Criteria) this;
        }

        public Criteria andDayBetween(Integer value1, Integer value2) {
            addCriterion("day between", value1, value2, "day");
            return (Criteria) this;
        }

        public Criteria andDayNotBetween(Integer value1, Integer value2) {
            addCriterion("day not between", value1, value2, "day");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Integer value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Integer value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Integer value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Integer value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Integer value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Integer> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Integer> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Integer value1, Integer value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andDeploydateIsNull() {
            addCriterion("deploydate is null");
            return (Criteria) this;
        }

        public Criteria andDeploydateIsNotNull() {
            addCriterion("deploydate is not null");
            return (Criteria) this;
        }

        public Criteria andDeploydateEqualTo(String value) {
            addCriterion("deploydate =", value, "deploydate");
            return (Criteria) this;
        }

        public Criteria andDeploydateNotEqualTo(String value) {
            addCriterion("deploydate <>", value, "deploydate");
            return (Criteria) this;
        }

        public Criteria andDeploydateGreaterThan(String value) {
            addCriterion("deploydate >", value, "deploydate");
            return (Criteria) this;
        }

        public Criteria andDeploydateGreaterThanOrEqualTo(String value) {
            addCriterion("deploydate >=", value, "deploydate");
            return (Criteria) this;
        }

        public Criteria andDeploydateLessThan(String value) {
            addCriterion("deploydate <", value, "deploydate");
            return (Criteria) this;
        }

        public Criteria andDeploydateLessThanOrEqualTo(String value) {
            addCriterion("deploydate <=", value, "deploydate");
            return (Criteria) this;
        }

        public Criteria andDeploydateLike(String value) {
            addCriterion("deploydate like", value, "deploydate");
            return (Criteria) this;
        }

        public Criteria andDeploydateNotLike(String value) {
            addCriterion("deploydate not like", value, "deploydate");
            return (Criteria) this;
        }

        public Criteria andDeploydateIn(List<String> values) {
            addCriterion("deploydate in", values, "deploydate");
            return (Criteria) this;
        }

        public Criteria andDeploydateNotIn(List<String> values) {
            addCriterion("deploydate not in", values, "deploydate");
            return (Criteria) this;
        }

        public Criteria andDeploydateBetween(String value1, String value2) {
            addCriterion("deploydate between", value1, value2, "deploydate");
            return (Criteria) this;
        }

        public Criteria andDeploydateNotBetween(String value1, String value2) {
            addCriterion("deploydate not between", value1, value2, "deploydate");
            return (Criteria) this;
        }

        public Criteria andSupportmoneyIsNull() {
            addCriterion("supportmoney is null");
            return (Criteria) this;
        }

        public Criteria andSupportmoneyIsNotNull() {
            addCriterion("supportmoney is not null");
            return (Criteria) this;
        }

        public Criteria andSupportmoneyEqualTo(Long value) {
            addCriterion("supportmoney =", value, "supportmoney");
            return (Criteria) this;
        }

        public Criteria andSupportmoneyNotEqualTo(Long value) {
            addCriterion("supportmoney <>", value, "supportmoney");
            return (Criteria) this;
        }

        public Criteria andSupportmoneyGreaterThan(Long value) {
            addCriterion("supportmoney >", value, "supportmoney");
            return (Criteria) this;
        }

        public Criteria andSupportmoneyGreaterThanOrEqualTo(Long value) {
            addCriterion("supportmoney >=", value, "supportmoney");
            return (Criteria) this;
        }

        public Criteria andSupportmoneyLessThan(Long value) {
            addCriterion("supportmoney <", value, "supportmoney");
            return (Criteria) this;
        }

        public Criteria andSupportmoneyLessThanOrEqualTo(Long value) {
            addCriterion("supportmoney <=", value, "supportmoney");
            return (Criteria) this;
        }

        public Criteria andSupportmoneyIn(List<Long> values) {
            addCriterion("supportmoney in", values, "supportmoney");
            return (Criteria) this;
        }

        public Criteria andSupportmoneyNotIn(List<Long> values) {
            addCriterion("supportmoney not in", values, "supportmoney");
            return (Criteria) this;
        }

        public Criteria andSupportmoneyBetween(Long value1, Long value2) {
            addCriterion("supportmoney between", value1, value2, "supportmoney");
            return (Criteria) this;
        }

        public Criteria andSupportmoneyNotBetween(Long value1, Long value2) {
            addCriterion("supportmoney not between", value1, value2, "supportmoney");
            return (Criteria) this;
        }

        public Criteria andSupporterIsNull() {
            addCriterion("supporter is null");
            return (Criteria) this;
        }

        public Criteria andSupporterIsNotNull() {
            addCriterion("supporter is not null");
            return (Criteria) this;
        }

        public Criteria andSupporterEqualTo(Integer value) {
            addCriterion("supporter =", value, "supporter");
            return (Criteria) this;
        }

        public Criteria andSupporterNotEqualTo(Integer value) {
            addCriterion("supporter <>", value, "supporter");
            return (Criteria) this;
        }

        public Criteria andSupporterGreaterThan(Integer value) {
            addCriterion("supporter >", value, "supporter");
            return (Criteria) this;
        }

        public Criteria andSupporterGreaterThanOrEqualTo(Integer value) {
            addCriterion("supporter >=", value, "supporter");
            return (Criteria) this;
        }

        public Criteria andSupporterLessThan(Integer value) {
            addCriterion("supporter <", value, "supporter");
            return (Criteria) this;
        }

        public Criteria andSupporterLessThanOrEqualTo(Integer value) {
            addCriterion("supporter <=", value, "supporter");
            return (Criteria) this;
        }

        public Criteria andSupporterIn(List<Integer> values) {
            addCriterion("supporter in", values, "supporter");
            return (Criteria) this;
        }

        public Criteria andSupporterNotIn(List<Integer> values) {
            addCriterion("supporter not in", values, "supporter");
            return (Criteria) this;
        }

        public Criteria andSupporterBetween(Integer value1, Integer value2) {
            addCriterion("supporter between", value1, value2, "supporter");
            return (Criteria) this;
        }

        public Criteria andSupporterNotBetween(Integer value1, Integer value2) {
            addCriterion("supporter not between", value1, value2, "supporter");
            return (Criteria) this;
        }

        public Criteria andCompletionIsNull() {
            addCriterion("completion is null");
            return (Criteria) this;
        }

        public Criteria andCompletionIsNotNull() {
            addCriterion("completion is not null");
            return (Criteria) this;
        }

        public Criteria andCompletionEqualTo(Integer value) {
            addCriterion("completion =", value, "completion");
            return (Criteria) this;
        }

        public Criteria andCompletionNotEqualTo(Integer value) {
            addCriterion("completion <>", value, "completion");
            return (Criteria) this;
        }

        public Criteria andCompletionGreaterThan(Integer value) {
            addCriterion("completion >", value, "completion");
            return (Criteria) this;
        }

        public Criteria andCompletionGreaterThanOrEqualTo(Integer value) {
            addCriterion("completion >=", value, "completion");
            return (Criteria) this;
        }

        public Criteria andCompletionLessThan(Integer value) {
            addCriterion("completion <", value, "completion");
            return (Criteria) this;
        }

        public Criteria andCompletionLessThanOrEqualTo(Integer value) {
            addCriterion("completion <=", value, "completion");
            return (Criteria) this;
        }

        public Criteria andCompletionIn(List<Integer> values) {
            addCriterion("completion in", values, "completion");
            return (Criteria) this;
        }

        public Criteria andCompletionNotIn(List<Integer> values) {
            addCriterion("completion not in", values, "completion");
            return (Criteria) this;
        }

        public Criteria andCompletionBetween(Integer value1, Integer value2) {
            addCriterion("completion between", value1, value2, "completion");
            return (Criteria) this;
        }

        public Criteria andCompletionNotBetween(Integer value1, Integer value2) {
            addCriterion("completion not between", value1, value2, "completion");
            return (Criteria) this;
        }

        public Criteria andMemberidIsNull() {
            addCriterion("memberid is null");
            return (Criteria) this;
        }

        public Criteria andMemberidIsNotNull() {
            addCriterion("memberid is not null");
            return (Criteria) this;
        }

        public Criteria andMemberidEqualTo(Integer value) {
            addCriterion("memberid =", value, "memberid");
            return (Criteria) this;
        }

        public Criteria andMemberidNotEqualTo(Integer value) {
            addCriterion("memberid <>", value, "memberid");
            return (Criteria) this;
        }

        public Criteria andMemberidGreaterThan(Integer value) {
            addCriterion("memberid >", value, "memberid");
            return (Criteria) this;
        }

        public Criteria andMemberidGreaterThanOrEqualTo(Integer value) {
            addCriterion("memberid >=", value, "memberid");
            return (Criteria) this;
        }

        public Criteria andMemberidLessThan(Integer value) {
            addCriterion("memberid <", value, "memberid");
            return (Criteria) this;
        }

        public Criteria andMemberidLessThanOrEqualTo(Integer value) {
            addCriterion("memberid <=", value, "memberid");
            return (Criteria) this;
        }

        public Criteria andMemberidIn(List<Integer> values) {
            addCriterion("memberid in", values, "memberid");
            return (Criteria) this;
        }

        public Criteria andMemberidNotIn(List<Integer> values) {
            addCriterion("memberid not in", values, "memberid");
            return (Criteria) this;
        }

        public Criteria andMemberidBetween(Integer value1, Integer value2) {
            addCriterion("memberid between", value1, value2, "memberid");
            return (Criteria) this;
        }

        public Criteria andMemberidNotBetween(Integer value1, Integer value2) {
            addCriterion("memberid not between", value1, value2, "memberid");
            return (Criteria) this;
        }

        public Criteria andCreatedateIsNull() {
            addCriterion("createdate is null");
            return (Criteria) this;
        }

        public Criteria andCreatedateIsNotNull() {
            addCriterion("createdate is not null");
            return (Criteria) this;
        }

        public Criteria andCreatedateEqualTo(String value) {
            addCriterion("createdate =", value, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreatedateNotEqualTo(String value) {
            addCriterion("createdate <>", value, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreatedateGreaterThan(String value) {
            addCriterion("createdate >", value, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreatedateGreaterThanOrEqualTo(String value) {
            addCriterion("createdate >=", value, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreatedateLessThan(String value) {
            addCriterion("createdate <", value, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreatedateLessThanOrEqualTo(String value) {
            addCriterion("createdate <=", value, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreatedateLike(String value) {
            addCriterion("createdate like", value, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreatedateNotLike(String value) {
            addCriterion("createdate not like", value, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreatedateIn(List<String> values) {
            addCriterion("createdate in", values, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreatedateNotIn(List<String> values) {
            addCriterion("createdate not in", values, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreatedateBetween(String value1, String value2) {
            addCriterion("createdate between", value1, value2, "createdate");
            return (Criteria) this;
        }

        public Criteria andCreatedateNotBetween(String value1, String value2) {
            addCriterion("createdate not between", value1, value2, "createdate");
            return (Criteria) this;
        }

        public Criteria andFollowerIsNull() {
            addCriterion("follower is null");
            return (Criteria) this;
        }

        public Criteria andFollowerIsNotNull() {
            addCriterion("follower is not null");
            return (Criteria) this;
        }

        public Criteria andFollowerEqualTo(Integer value) {
            addCriterion("follower =", value, "follower");
            return (Criteria) this;
        }

        public Criteria andFollowerNotEqualTo(Integer value) {
            addCriterion("follower <>", value, "follower");
            return (Criteria) this;
        }

        public Criteria andFollowerGreaterThan(Integer value) {
            addCriterion("follower >", value, "follower");
            return (Criteria) this;
        }

        public Criteria andFollowerGreaterThanOrEqualTo(Integer value) {
            addCriterion("follower >=", value, "follower");
            return (Criteria) this;
        }

        public Criteria andFollowerLessThan(Integer value) {
            addCriterion("follower <", value, "follower");
            return (Criteria) this;
        }

        public Criteria andFollowerLessThanOrEqualTo(Integer value) {
            addCriterion("follower <=", value, "follower");
            return (Criteria) this;
        }

        public Criteria andFollowerIn(List<Integer> values) {
            addCriterion("follower in", values, "follower");
            return (Criteria) this;
        }

        public Criteria andFollowerNotIn(List<Integer> values) {
            addCriterion("follower not in", values, "follower");
            return (Criteria) this;
        }

        public Criteria andFollowerBetween(Integer value1, Integer value2) {
            addCriterion("follower between", value1, value2, "follower");
            return (Criteria) this;
        }

        public Criteria andFollowerNotBetween(Integer value1, Integer value2) {
            addCriterion("follower not between", value1, value2, "follower");
            return (Criteria) this;
        }

        public Criteria andHeaderPicturePathIsNull() {
            addCriterion("header_picture_path is null");
            return (Criteria) this;
        }

        public Criteria andHeaderPicturePathIsNotNull() {
            addCriterion("header_picture_path is not null");
            return (Criteria) this;
        }

        public Criteria andHeaderPicturePathEqualTo(String value) {
            addCriterion("header_picture_path =", value, "headerPicturePath");
            return (Criteria) this;
        }

        public Criteria andHeaderPicturePathNotEqualTo(String value) {
            addCriterion("header_picture_path <>", value, "headerPicturePath");
            return (Criteria) this;
        }

        public Criteria andHeaderPicturePathGreaterThan(String value) {
            addCriterion("header_picture_path >", value, "headerPicturePath");
            return (Criteria) this;
        }

        public Criteria andHeaderPicturePathGreaterThanOrEqualTo(String value) {
            addCriterion("header_picture_path >=", value, "headerPicturePath");
            return (Criteria) this;
        }

        public Criteria andHeaderPicturePathLessThan(String value) {
            addCriterion("header_picture_path <", value, "headerPicturePath");
            return (Criteria) this;
        }

        public Criteria andHeaderPicturePathLessThanOrEqualTo(String value) {
            addCriterion("header_picture_path <=", value, "headerPicturePath");
            return (Criteria) this;
        }

        public Criteria andHeaderPicturePathLike(String value) {
            addCriterion("header_picture_path like", value, "headerPicturePath");
            return (Criteria) this;
        }

        public Criteria andHeaderPicturePathNotLike(String value) {
            addCriterion("header_picture_path not like", value, "headerPicturePath");
            return (Criteria) this;
        }

        public Criteria andHeaderPicturePathIn(List<String> values) {
            addCriterion("header_picture_path in", values, "headerPicturePath");
            return (Criteria) this;
        }

        public Criteria andHeaderPicturePathNotIn(List<String> values) {
            addCriterion("header_picture_path not in", values, "headerPicturePath");
            return (Criteria) this;
        }

        public Criteria andHeaderPicturePathBetween(String value1, String value2) {
            addCriterion("header_picture_path between", value1, value2, "headerPicturePath");
            return (Criteria) this;
        }

        public Criteria andHeaderPicturePathNotBetween(String value1, String value2) {
            addCriterion("header_picture_path not between", value1, value2, "headerPicturePath");
            return (Criteria) this;
        }

        public Criteria andProjectMangerIsNull() {
            addCriterion("project_manger is null");
            return (Criteria) this;
        }

        public Criteria andProjectMangerIsNotNull() {
            addCriterion("project_manger is not null");
            return (Criteria) this;
        }

        public Criteria andProjectMangerEqualTo(String value) {
            addCriterion("project_manger =", value, "projectManger");
            return (Criteria) this;
        }

        public Criteria andProjectMangerNotEqualTo(String value) {
            addCriterion("project_manger <>", value, "projectManger");
            return (Criteria) this;
        }

        public Criteria andProjectMangerGreaterThan(String value) {
            addCriterion("project_manger >", value, "projectManger");
            return (Criteria) this;
        }

        public Criteria andProjectMangerGreaterThanOrEqualTo(String value) {
            addCriterion("project_manger >=", value, "projectManger");
            return (Criteria) this;
        }

        public Criteria andProjectMangerLessThan(String value) {
            addCriterion("project_manger <", value, "projectManger");
            return (Criteria) this;
        }

        public Criteria andProjectMangerLessThanOrEqualTo(String value) {
            addCriterion("project_manger <=", value, "projectManger");
            return (Criteria) this;
        }

        public Criteria andProjectMangerLike(String value) {
            addCriterion("project_manger like", value, "projectManger");
            return (Criteria) this;
        }

        public Criteria andProjectMangerNotLike(String value) {
            addCriterion("project_manger not like", value, "projectManger");
            return (Criteria) this;
        }

        public Criteria andProjectMangerIn(List<String> values) {
            addCriterion("project_manger in", values, "projectManger");
            return (Criteria) this;
        }

        public Criteria andProjectMangerNotIn(List<String> values) {
            addCriterion("project_manger not in", values, "projectManger");
            return (Criteria) this;
        }

        public Criteria andProjectMangerBetween(String value1, String value2) {
            addCriterion("project_manger between", value1, value2, "projectManger");
            return (Criteria) this;
        }

        public Criteria andProjectMangerNotBetween(String value1, String value2) {
            addCriterion("project_manger not between", value1, value2, "projectManger");
            return (Criteria) this;
        }

        public Criteria andPlandescription1IsNull() {
            addCriterion("planDescription1 is null");
            return (Criteria) this;
        }

        public Criteria andPlandescription1IsNotNull() {
            addCriterion("planDescription1 is not null");
            return (Criteria) this;
        }

        public Criteria andPlandescription1EqualTo(String value) {
            addCriterion("planDescription1 =", value, "plandescription1");
            return (Criteria) this;
        }

        public Criteria andPlandescription1NotEqualTo(String value) {
            addCriterion("planDescription1 <>", value, "plandescription1");
            return (Criteria) this;
        }

        public Criteria andPlandescription1GreaterThan(String value) {
            addCriterion("planDescription1 >", value, "plandescription1");
            return (Criteria) this;
        }

        public Criteria andPlandescription1GreaterThanOrEqualTo(String value) {
            addCriterion("planDescription1 >=", value, "plandescription1");
            return (Criteria) this;
        }

        public Criteria andPlandescription1LessThan(String value) {
            addCriterion("planDescription1 <", value, "plandescription1");
            return (Criteria) this;
        }

        public Criteria andPlandescription1LessThanOrEqualTo(String value) {
            addCriterion("planDescription1 <=", value, "plandescription1");
            return (Criteria) this;
        }

        public Criteria andPlandescription1Like(String value) {
            addCriterion("planDescription1 like", value, "plandescription1");
            return (Criteria) this;
        }

        public Criteria andPlandescription1NotLike(String value) {
            addCriterion("planDescription1 not like", value, "plandescription1");
            return (Criteria) this;
        }

        public Criteria andPlandescription1In(List<String> values) {
            addCriterion("planDescription1 in", values, "plandescription1");
            return (Criteria) this;
        }

        public Criteria andPlandescription1NotIn(List<String> values) {
            addCriterion("planDescription1 not in", values, "plandescription1");
            return (Criteria) this;
        }

        public Criteria andPlandescription1Between(String value1, String value2) {
            addCriterion("planDescription1 between", value1, value2, "plandescription1");
            return (Criteria) this;
        }

        public Criteria andPlandescription1NotBetween(String value1, String value2) {
            addCriterion("planDescription1 not between", value1, value2, "plandescription1");
            return (Criteria) this;
        }

        public Criteria andPlanday1IsNull() {
            addCriterion("planDay1 is null");
            return (Criteria) this;
        }

        public Criteria andPlanday1IsNotNull() {
            addCriterion("planDay1 is not null");
            return (Criteria) this;
        }

        public Criteria andPlanday1EqualTo(Integer value) {
            addCriterion("planDay1 =", value, "planday1");
            return (Criteria) this;
        }

        public Criteria andPlanday1NotEqualTo(Integer value) {
            addCriterion("planDay1 <>", value, "planday1");
            return (Criteria) this;
        }

        public Criteria andPlanday1GreaterThan(Integer value) {
            addCriterion("planDay1 >", value, "planday1");
            return (Criteria) this;
        }

        public Criteria andPlanday1GreaterThanOrEqualTo(Integer value) {
            addCriterion("planDay1 >=", value, "planday1");
            return (Criteria) this;
        }

        public Criteria andPlanday1LessThan(Integer value) {
            addCriterion("planDay1 <", value, "planday1");
            return (Criteria) this;
        }

        public Criteria andPlanday1LessThanOrEqualTo(Integer value) {
            addCriterion("planDay1 <=", value, "planday1");
            return (Criteria) this;
        }

        public Criteria andPlanday1In(List<Integer> values) {
            addCriterion("planDay1 in", values, "planday1");
            return (Criteria) this;
        }

        public Criteria andPlanday1NotIn(List<Integer> values) {
            addCriterion("planDay1 not in", values, "planday1");
            return (Criteria) this;
        }

        public Criteria andPlanday1Between(Integer value1, Integer value2) {
            addCriterion("planDay1 between", value1, value2, "planday1");
            return (Criteria) this;
        }

        public Criteria andPlanday1NotBetween(Integer value1, Integer value2) {
            addCriterion("planDay1 not between", value1, value2, "planday1");
            return (Criteria) this;
        }

        public Criteria andPlandescription2IsNull() {
            addCriterion("planDescription2 is null");
            return (Criteria) this;
        }

        public Criteria andPlandescription2IsNotNull() {
            addCriterion("planDescription2 is not null");
            return (Criteria) this;
        }

        public Criteria andPlandescription2EqualTo(String value) {
            addCriterion("planDescription2 =", value, "plandescription2");
            return (Criteria) this;
        }

        public Criteria andPlandescription2NotEqualTo(String value) {
            addCriterion("planDescription2 <>", value, "plandescription2");
            return (Criteria) this;
        }

        public Criteria andPlandescription2GreaterThan(String value) {
            addCriterion("planDescription2 >", value, "plandescription2");
            return (Criteria) this;
        }

        public Criteria andPlandescription2GreaterThanOrEqualTo(String value) {
            addCriterion("planDescription2 >=", value, "plandescription2");
            return (Criteria) this;
        }

        public Criteria andPlandescription2LessThan(String value) {
            addCriterion("planDescription2 <", value, "plandescription2");
            return (Criteria) this;
        }

        public Criteria andPlandescription2LessThanOrEqualTo(String value) {
            addCriterion("planDescription2 <=", value, "plandescription2");
            return (Criteria) this;
        }

        public Criteria andPlandescription2Like(String value) {
            addCriterion("planDescription2 like", value, "plandescription2");
            return (Criteria) this;
        }

        public Criteria andPlandescription2NotLike(String value) {
            addCriterion("planDescription2 not like", value, "plandescription2");
            return (Criteria) this;
        }

        public Criteria andPlandescription2In(List<String> values) {
            addCriterion("planDescription2 in", values, "plandescription2");
            return (Criteria) this;
        }

        public Criteria andPlandescription2NotIn(List<String> values) {
            addCriterion("planDescription2 not in", values, "plandescription2");
            return (Criteria) this;
        }

        public Criteria andPlandescription2Between(String value1, String value2) {
            addCriterion("planDescription2 between", value1, value2, "plandescription2");
            return (Criteria) this;
        }

        public Criteria andPlandescription2NotBetween(String value1, String value2) {
            addCriterion("planDescription2 not between", value1, value2, "plandescription2");
            return (Criteria) this;
        }

        public Criteria andPlanday2IsNull() {
            addCriterion("planDay2 is null");
            return (Criteria) this;
        }

        public Criteria andPlanday2IsNotNull() {
            addCriterion("planDay2 is not null");
            return (Criteria) this;
        }

        public Criteria andPlanday2EqualTo(Integer value) {
            addCriterion("planDay2 =", value, "planday2");
            return (Criteria) this;
        }

        public Criteria andPlanday2NotEqualTo(Integer value) {
            addCriterion("planDay2 <>", value, "planday2");
            return (Criteria) this;
        }

        public Criteria andPlanday2GreaterThan(Integer value) {
            addCriterion("planDay2 >", value, "planday2");
            return (Criteria) this;
        }

        public Criteria andPlanday2GreaterThanOrEqualTo(Integer value) {
            addCriterion("planDay2 >=", value, "planday2");
            return (Criteria) this;
        }

        public Criteria andPlanday2LessThan(Integer value) {
            addCriterion("planDay2 <", value, "planday2");
            return (Criteria) this;
        }

        public Criteria andPlanday2LessThanOrEqualTo(Integer value) {
            addCriterion("planDay2 <=", value, "planday2");
            return (Criteria) this;
        }

        public Criteria andPlanday2In(List<Integer> values) {
            addCriterion("planDay2 in", values, "planday2");
            return (Criteria) this;
        }

        public Criteria andPlanday2NotIn(List<Integer> values) {
            addCriterion("planDay2 not in", values, "planday2");
            return (Criteria) this;
        }

        public Criteria andPlanday2Between(Integer value1, Integer value2) {
            addCriterion("planDay2 between", value1, value2, "planday2");
            return (Criteria) this;
        }

        public Criteria andPlanday2NotBetween(Integer value1, Integer value2) {
            addCriterion("planDay2 not between", value1, value2, "planday2");
            return (Criteria) this;
        }

        public Criteria andPlandescription3IsNull() {
            addCriterion("planDescription3 is null");
            return (Criteria) this;
        }

        public Criteria andPlandescription3IsNotNull() {
            addCriterion("planDescription3 is not null");
            return (Criteria) this;
        }

        public Criteria andPlandescription3EqualTo(String value) {
            addCriterion("planDescription3 =", value, "plandescription3");
            return (Criteria) this;
        }

        public Criteria andPlandescription3NotEqualTo(String value) {
            addCriterion("planDescription3 <>", value, "plandescription3");
            return (Criteria) this;
        }

        public Criteria andPlandescription3GreaterThan(String value) {
            addCriterion("planDescription3 >", value, "plandescription3");
            return (Criteria) this;
        }

        public Criteria andPlandescription3GreaterThanOrEqualTo(String value) {
            addCriterion("planDescription3 >=", value, "plandescription3");
            return (Criteria) this;
        }

        public Criteria andPlandescription3LessThan(String value) {
            addCriterion("planDescription3 <", value, "plandescription3");
            return (Criteria) this;
        }

        public Criteria andPlandescription3LessThanOrEqualTo(String value) {
            addCriterion("planDescription3 <=", value, "plandescription3");
            return (Criteria) this;
        }

        public Criteria andPlandescription3Like(String value) {
            addCriterion("planDescription3 like", value, "plandescription3");
            return (Criteria) this;
        }

        public Criteria andPlandescription3NotLike(String value) {
            addCriterion("planDescription3 not like", value, "plandescription3");
            return (Criteria) this;
        }

        public Criteria andPlandescription3In(List<String> values) {
            addCriterion("planDescription3 in", values, "plandescription3");
            return (Criteria) this;
        }

        public Criteria andPlandescription3NotIn(List<String> values) {
            addCriterion("planDescription3 not in", values, "plandescription3");
            return (Criteria) this;
        }

        public Criteria andPlandescription3Between(String value1, String value2) {
            addCriterion("planDescription3 between", value1, value2, "plandescription3");
            return (Criteria) this;
        }

        public Criteria andPlandescription3NotBetween(String value1, String value2) {
            addCriterion("planDescription3 not between", value1, value2, "plandescription3");
            return (Criteria) this;
        }

        public Criteria andPlanday3IsNull() {
            addCriterion("planDay3 is null");
            return (Criteria) this;
        }

        public Criteria andPlanday3IsNotNull() {
            addCriterion("planDay3 is not null");
            return (Criteria) this;
        }

        public Criteria andPlanday3EqualTo(Integer value) {
            addCriterion("planDay3 =", value, "planday3");
            return (Criteria) this;
        }

        public Criteria andPlanday3NotEqualTo(Integer value) {
            addCriterion("planDay3 <>", value, "planday3");
            return (Criteria) this;
        }

        public Criteria andPlanday3GreaterThan(Integer value) {
            addCriterion("planDay3 >", value, "planday3");
            return (Criteria) this;
        }

        public Criteria andPlanday3GreaterThanOrEqualTo(Integer value) {
            addCriterion("planDay3 >=", value, "planday3");
            return (Criteria) this;
        }

        public Criteria andPlanday3LessThan(Integer value) {
            addCriterion("planDay3 <", value, "planday3");
            return (Criteria) this;
        }

        public Criteria andPlanday3LessThanOrEqualTo(Integer value) {
            addCriterion("planDay3 <=", value, "planday3");
            return (Criteria) this;
        }

        public Criteria andPlanday3In(List<Integer> values) {
            addCriterion("planDay3 in", values, "planday3");
            return (Criteria) this;
        }

        public Criteria andPlanday3NotIn(List<Integer> values) {
            addCriterion("planDay3 not in", values, "planday3");
            return (Criteria) this;
        }

        public Criteria andPlanday3Between(Integer value1, Integer value2) {
            addCriterion("planDay3 between", value1, value2, "planday3");
            return (Criteria) this;
        }

        public Criteria andPlanday3NotBetween(Integer value1, Integer value2) {
            addCriterion("planDay3 not between", value1, value2, "planday3");
            return (Criteria) this;
        }

        public Criteria andPlandescription4IsNull() {
            addCriterion("planDescription4 is null");
            return (Criteria) this;
        }

        public Criteria andPlandescription4IsNotNull() {
            addCriterion("planDescription4 is not null");
            return (Criteria) this;
        }

        public Criteria andPlandescription4EqualTo(String value) {
            addCriterion("planDescription4 =", value, "plandescription4");
            return (Criteria) this;
        }

        public Criteria andPlandescription4NotEqualTo(String value) {
            addCriterion("planDescription4 <>", value, "plandescription4");
            return (Criteria) this;
        }

        public Criteria andPlandescription4GreaterThan(String value) {
            addCriterion("planDescription4 >", value, "plandescription4");
            return (Criteria) this;
        }

        public Criteria andPlandescription4GreaterThanOrEqualTo(String value) {
            addCriterion("planDescription4 >=", value, "plandescription4");
            return (Criteria) this;
        }

        public Criteria andPlandescription4LessThan(String value) {
            addCriterion("planDescription4 <", value, "plandescription4");
            return (Criteria) this;
        }

        public Criteria andPlandescription4LessThanOrEqualTo(String value) {
            addCriterion("planDescription4 <=", value, "plandescription4");
            return (Criteria) this;
        }

        public Criteria andPlandescription4Like(String value) {
            addCriterion("planDescription4 like", value, "plandescription4");
            return (Criteria) this;
        }

        public Criteria andPlandescription4NotLike(String value) {
            addCriterion("planDescription4 not like", value, "plandescription4");
            return (Criteria) this;
        }

        public Criteria andPlandescription4In(List<String> values) {
            addCriterion("planDescription4 in", values, "plandescription4");
            return (Criteria) this;
        }

        public Criteria andPlandescription4NotIn(List<String> values) {
            addCriterion("planDescription4 not in", values, "plandescription4");
            return (Criteria) this;
        }

        public Criteria andPlandescription4Between(String value1, String value2) {
            addCriterion("planDescription4 between", value1, value2, "plandescription4");
            return (Criteria) this;
        }

        public Criteria andPlandescription4NotBetween(String value1, String value2) {
            addCriterion("planDescription4 not between", value1, value2, "plandescription4");
            return (Criteria) this;
        }

        public Criteria andPlanday4IsNull() {
            addCriterion("planDay4 is null");
            return (Criteria) this;
        }

        public Criteria andPlanday4IsNotNull() {
            addCriterion("planDay4 is not null");
            return (Criteria) this;
        }

        public Criteria andPlanday4EqualTo(Integer value) {
            addCriterion("planDay4 =", value, "planday4");
            return (Criteria) this;
        }

        public Criteria andPlanday4NotEqualTo(Integer value) {
            addCriterion("planDay4 <>", value, "planday4");
            return (Criteria) this;
        }

        public Criteria andPlanday4GreaterThan(Integer value) {
            addCriterion("planDay4 >", value, "planday4");
            return (Criteria) this;
        }

        public Criteria andPlanday4GreaterThanOrEqualTo(Integer value) {
            addCriterion("planDay4 >=", value, "planday4");
            return (Criteria) this;
        }

        public Criteria andPlanday4LessThan(Integer value) {
            addCriterion("planDay4 <", value, "planday4");
            return (Criteria) this;
        }

        public Criteria andPlanday4LessThanOrEqualTo(Integer value) {
            addCriterion("planDay4 <=", value, "planday4");
            return (Criteria) this;
        }

        public Criteria andPlanday4In(List<Integer> values) {
            addCriterion("planDay4 in", values, "planday4");
            return (Criteria) this;
        }

        public Criteria andPlanday4NotIn(List<Integer> values) {
            addCriterion("planDay4 not in", values, "planday4");
            return (Criteria) this;
        }

        public Criteria andPlanday4Between(Integer value1, Integer value2) {
            addCriterion("planDay4 between", value1, value2, "planday4");
            return (Criteria) this;
        }

        public Criteria andPlanday4NotBetween(Integer value1, Integer value2) {
            addCriterion("planDay4 not between", value1, value2, "planday4");
            return (Criteria) this;
        }

        public Criteria andPassIsNull() {
            addCriterion("pass is null");
            return (Criteria) this;
        }

        public Criteria andPassIsNotNull() {
            addCriterion("pass is not null");
            return (Criteria) this;
        }

        public Criteria andPassEqualTo(Integer value) {
            addCriterion("pass =", value, "pass");
            return (Criteria) this;
        }

        public Criteria andPassNotEqualTo(Integer value) {
            addCriterion("pass <>", value, "pass");
            return (Criteria) this;
        }

        public Criteria andPassGreaterThan(Integer value) {
            addCriterion("pass >", value, "pass");
            return (Criteria) this;
        }

        public Criteria andPassGreaterThanOrEqualTo(Integer value) {
            addCriterion("pass >=", value, "pass");
            return (Criteria) this;
        }

        public Criteria andPassLessThan(Integer value) {
            addCriterion("pass <", value, "pass");
            return (Criteria) this;
        }

        public Criteria andPassLessThanOrEqualTo(Integer value) {
            addCriterion("pass <=", value, "pass");
            return (Criteria) this;
        }

        public Criteria andPassIn(List<Integer> values) {
            addCriterion("pass in", values, "pass");
            return (Criteria) this;
        }

        public Criteria andPassNotIn(List<Integer> values) {
            addCriterion("pass not in", values, "pass");
            return (Criteria) this;
        }

        public Criteria andPassBetween(Integer value1, Integer value2) {
            addCriterion("pass between", value1, value2, "pass");
            return (Criteria) this;
        }

        public Criteria andPassNotBetween(Integer value1, Integer value2) {
            addCriterion("pass not between", value1, value2, "pass");
            return (Criteria) this;
        }

        public Criteria andDevelopmentDayIsNull() {
            addCriterion("development_day is null");
            return (Criteria) this;
        }

        public Criteria andDevelopmentDayIsNotNull() {
            addCriterion("development_day is not null");
            return (Criteria) this;
        }

        public Criteria andDevelopmentDayEqualTo(Integer value) {
            addCriterion("development_day =", value, "developmentDay");
            return (Criteria) this;
        }

        public Criteria andDevelopmentDayNotEqualTo(Integer value) {
            addCriterion("development_day <>", value, "developmentDay");
            return (Criteria) this;
        }

        public Criteria andDevelopmentDayGreaterThan(Integer value) {
            addCriterion("development_day >", value, "developmentDay");
            return (Criteria) this;
        }

        public Criteria andDevelopmentDayGreaterThanOrEqualTo(Integer value) {
            addCriterion("development_day >=", value, "developmentDay");
            return (Criteria) this;
        }

        public Criteria andDevelopmentDayLessThan(Integer value) {
            addCriterion("development_day <", value, "developmentDay");
            return (Criteria) this;
        }

        public Criteria andDevelopmentDayLessThanOrEqualTo(Integer value) {
            addCriterion("development_day <=", value, "developmentDay");
            return (Criteria) this;
        }

        public Criteria andDevelopmentDayIn(List<Integer> values) {
            addCriterion("development_day in", values, "developmentDay");
            return (Criteria) this;
        }

        public Criteria andDevelopmentDayNotIn(List<Integer> values) {
            addCriterion("development_day not in", values, "developmentDay");
            return (Criteria) this;
        }

        public Criteria andDevelopmentDayBetween(Integer value1, Integer value2) {
            addCriterion("development_day between", value1, value2, "developmentDay");
            return (Criteria) this;
        }

        public Criteria andDevelopmentDayNotBetween(Integer value1, Integer value2) {
            addCriterion("development_day not between", value1, value2, "developmentDay");
            return (Criteria) this;
        }

        public Criteria andDelayNumberIsNull() {
            addCriterion("delay_number is null");
            return (Criteria) this;
        }

        public Criteria andDelayNumberIsNotNull() {
            addCriterion("delay_number is not null");
            return (Criteria) this;
        }

        public Criteria andDelayNumberEqualTo(Integer value) {
            addCriterion("delay_number =", value, "delayNumber");
            return (Criteria) this;
        }

        public Criteria andDelayNumberNotEqualTo(Integer value) {
            addCriterion("delay_number <>", value, "delayNumber");
            return (Criteria) this;
        }

        public Criteria andDelayNumberGreaterThan(Integer value) {
            addCriterion("delay_number >", value, "delayNumber");
            return (Criteria) this;
        }

        public Criteria andDelayNumberGreaterThanOrEqualTo(Integer value) {
            addCriterion("delay_number >=", value, "delayNumber");
            return (Criteria) this;
        }

        public Criteria andDelayNumberLessThan(Integer value) {
            addCriterion("delay_number <", value, "delayNumber");
            return (Criteria) this;
        }

        public Criteria andDelayNumberLessThanOrEqualTo(Integer value) {
            addCriterion("delay_number <=", value, "delayNumber");
            return (Criteria) this;
        }

        public Criteria andDelayNumberIn(List<Integer> values) {
            addCriterion("delay_number in", values, "delayNumber");
            return (Criteria) this;
        }

        public Criteria andDelayNumberNotIn(List<Integer> values) {
            addCriterion("delay_number not in", values, "delayNumber");
            return (Criteria) this;
        }

        public Criteria andDelayNumberBetween(Integer value1, Integer value2) {
            addCriterion("delay_number between", value1, value2, "delayNumber");
            return (Criteria) this;
        }

        public Criteria andDelayNumberNotBetween(Integer value1, Integer value2) {
            addCriterion("delay_number not between", value1, value2, "delayNumber");
            return (Criteria) this;
        }

        public Criteria andDelayDayIsNull() {
            addCriterion("delay_day is null");
            return (Criteria) this;
        }

        public Criteria andDelayDayIsNotNull() {
            addCriterion("delay_day is not null");
            return (Criteria) this;
        }

        public Criteria andDelayDayEqualTo(Integer value) {
            addCriterion("delay_day =", value, "delayDay");
            return (Criteria) this;
        }

        public Criteria andDelayDayNotEqualTo(Integer value) {
            addCriterion("delay_day <>", value, "delayDay");
            return (Criteria) this;
        }

        public Criteria andDelayDayGreaterThan(Integer value) {
            addCriterion("delay_day >", value, "delayDay");
            return (Criteria) this;
        }

        public Criteria andDelayDayGreaterThanOrEqualTo(Integer value) {
            addCriterion("delay_day >=", value, "delayDay");
            return (Criteria) this;
        }

        public Criteria andDelayDayLessThan(Integer value) {
            addCriterion("delay_day <", value, "delayDay");
            return (Criteria) this;
        }

        public Criteria andDelayDayLessThanOrEqualTo(Integer value) {
            addCriterion("delay_day <=", value, "delayDay");
            return (Criteria) this;
        }

        public Criteria andDelayDayIn(List<Integer> values) {
            addCriterion("delay_day in", values, "delayDay");
            return (Criteria) this;
        }

        public Criteria andDelayDayNotIn(List<Integer> values) {
            addCriterion("delay_day not in", values, "delayDay");
            return (Criteria) this;
        }

        public Criteria andDelayDayBetween(Integer value1, Integer value2) {
            addCriterion("delay_day between", value1, value2, "delayDay");
            return (Criteria) this;
        }

        public Criteria andDelayDayNotBetween(Integer value1, Integer value2) {
            addCriterion("delay_day not between", value1, value2, "delayDay");
            return (Criteria) this;
        }

        public Criteria andDevelopmentStartDateIsNull() {
            addCriterion("development_start_date is null");
            return (Criteria) this;
        }

        public Criteria andDevelopmentStartDateIsNotNull() {
            addCriterion("development_start_date is not null");
            return (Criteria) this;
        }

        public Criteria andDevelopmentStartDateEqualTo(String value) {
            addCriterion("development_start_date =", value, "developmentStartDate");
            return (Criteria) this;
        }

        public Criteria andDevelopmentStartDateNotEqualTo(String value) {
            addCriterion("development_start_date <>", value, "developmentStartDate");
            return (Criteria) this;
        }

        public Criteria andDevelopmentStartDateGreaterThan(String value) {
            addCriterion("development_start_date >", value, "developmentStartDate");
            return (Criteria) this;
        }

        public Criteria andDevelopmentStartDateGreaterThanOrEqualTo(String value) {
            addCriterion("development_start_date >=", value, "developmentStartDate");
            return (Criteria) this;
        }

        public Criteria andDevelopmentStartDateLessThan(String value) {
            addCriterion("development_start_date <", value, "developmentStartDate");
            return (Criteria) this;
        }

        public Criteria andDevelopmentStartDateLessThanOrEqualTo(String value) {
            addCriterion("development_start_date <=", value, "developmentStartDate");
            return (Criteria) this;
        }

        public Criteria andDevelopmentStartDateLike(String value) {
            addCriterion("development_start_date like", value, "developmentStartDate");
            return (Criteria) this;
        }

        public Criteria andDevelopmentStartDateNotLike(String value) {
            addCriterion("development_start_date not like", value, "developmentStartDate");
            return (Criteria) this;
        }

        public Criteria andDevelopmentStartDateIn(List<String> values) {
            addCriterion("development_start_date in", values, "developmentStartDate");
            return (Criteria) this;
        }

        public Criteria andDevelopmentStartDateNotIn(List<String> values) {
            addCriterion("development_start_date not in", values, "developmentStartDate");
            return (Criteria) this;
        }

        public Criteria andDevelopmentStartDateBetween(String value1, String value2) {
            addCriterion("development_start_date between", value1, value2, "developmentStartDate");
            return (Criteria) this;
        }

        public Criteria andDevelopmentStartDateNotBetween(String value1, String value2) {
            addCriterion("development_start_date not between", value1, value2, "developmentStartDate");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}